package com.mars.boss.weixin.service;

import java.util.List;

import com.mars.base.service.IService;
import com.mars.boss.weixin.entity.WxMenu;
import com.mars.boss.weixin.exception.WxMenuBizException;
import com.mars.boss.weixin.vo.Menu;

public interface WxMenuService extends IService<WxMenu, Long> {

	/**
	 * 加载所有一级节点
	 * @return
	 * @throws WxMenuBizException
	 */
	List<WxMenu> loadRootNode() throws WxMenuBizException ;
	
	/**
	 * 根据ID加载子节点
	 * @return
	 * @throws WxMenuBizException
	 */
	List<WxMenu> loadChildrenNode(Long pid) throws WxMenuBizException ;
	
	/**
	 * 树状结构
	 * @return
	 * @throws WxMenuBizException
	 */
	List<WxMenu> tree() throws WxMenuBizException ;
	
	/**
	 * 树状表格
	 * @return
	 * @throws WxMenuBizException
	 */
	List<WxMenu> treegrid() throws WxMenuBizException ;
	
	/**
	 * 获取所有Menu推送到微信
	 * @return
	 */
	List<Menu> getAllMenusToWeixin() ;
	
	/**
	 * 是否禁用，禁用将不推送到微信
	 * @param entity
	 */
	void status(Long id) ;
	
	/**
	 * 根据Key加载数据
	 * @param key
	 * @return
	 * @throws WxMenuBizException
	 */
	WxMenu selectMenyByKey(String key) throws WxMenuBizException ;
	
	/**
	 * 清除菜单所有缓存
	 * @return
	 */
	Long clearCache() ;
	
}
